﻿using System.Windows;
using System.Xml.Linq;
using System.ComponentModel;
using GiveAQuiz.Client.Data.DataServices;

namespace GiveAQuiz.Common
{
  public interface IQuestionType
  {
    string DisplayName { get; }
    UIElement Thumbnail { get; }
    DataTemplate EditorTemplate { get; }
    UIElement AnswerPanel { get; }
    string QuestionData { get; set; }
    string QuestionText { get; set; }
    string GetAnswerData();
    string GetAnswerText(string answerData);
    QuestionResult GetResult(string answerData);
    QuestionDefinition Definition { set; get; }
    bool ValidateQuestion();
    bool ValidateAnswer();
    string GetCorrectAnswerText();
  }
}
